1. Field of the Invention
The present invention generally relates to methods of transferring data between memories and, more particularly, to a method of transferring data between memories in respective functional blocks, such as a bus master (for example, a microprocessor unit) and a peripheral block.
It is often requested that a system using a microprocessor unit (MPU) be expandable in units of functional blocks, each thereof constituting a peripheral device for the microprocessor. It may also be requested for a system to be constituted of a plurality of functional blocks each carrying a microprocessor unit. There is a growing demand that the speed of data transfer between such functional blocks be increased and for the system size to be smaller (i.e., reduced in size from conventional such systems).
2. Description of the Related Art
If a peripheral device of a system using an MPU is divided into a plurality of functional blocks so that the system is expandable in units of functional blocks, or if a system is constituted of a plurality of functional blocks, each carrying an MPU, data communication between the functional blocks is necessary. Such data communication occurs between functional modules, provided in respective functional blocks for data transfer control. In the related art, the data transfer between functional modules is performed in the following ways.
(1) In addition to data, an address and a control signal for writing the data in and reading the data out from a memory are supplied over a parallel bus between a plurality of blocks (for example, an MPU bus).
(2) A function module specifically adapted for a destination functional block is provided so that data communication is fixedly controlled to occur in a serial mode or in a parallel mode (for example, serial communication by Ethernet and RS-232C).
In the related art, parallel data transfer between function modules is employed when a high transfer rate is required. When it is preferred that hardware scale (the number of connected signal lines) be reduced, serial transfer is employed. A function module supports only one of the serial transfer and parallel transfer modes.
For this reason, the method of transferring data between memories according to the related art has a disadvantage in that the hardware scale would be excessively large when functional blocks, not requiring a large amount of data to be transferred therebetween, are fixedly controlled to the parallel transfer mode, and in that, when functional blocks requiring a large amount of data to be transferred therebetween are fixedly controlled to the serial transfer mode, a long data transfer time is required and communication control is necessary for each serial transfer.